---
title: Overview
description: Protect your public APIs
mode: "wide"
---

Unkey provides a simple feature rich API key management system. You can use Unkey to protect your public APIs with ease. Below is an example of implementing Unkey in your API.

<CodeGroup>

```ts Typescript
import { Unkey } from "@unkey/api";

const unkey = new Unkey({
  rootKey: process.env["UNKEY_ROOT_KEY"] ?? "",
});

async function run() {
  const result = await unkey.keys.verifyKey({
    key: "sk_1234abcdef"
  });

  console.log(result);
}
```

```py Python
from unkey.py import Unkey


with Unkey(root_key="<YOUR_BEARER_TOKEN_HERE>") as unkey:

    res = unkey.keys.verify_key(key="sk_1234abcdef")

    # Handle response
    print(res)

```
```go Golang
package main

import(
	"context"
	"os"
	unkey "github.com/unkeyed/sdks/api/go/v2"
	"github.com/unkeyed/sdks/api/go/v2/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := unkey.New(
        unkey.WithSecurity(os.Getenv("UNKEY_ROOT_KEY")),
    )

    res, err := s.Keys.VerifyKey(ctx, components.V2KeysVerifyKeyRequestBody{
        Key: "sk_1234abcdef"
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.V2KeysVerifyKeyResponseBody != nil {
        // handle response
    }
}
```
```bash cURL
curl --request POST \
  --url https://api.unkey.com/v2/keys.verifyKey \
  --header 'Content-Type: application/json' \
  --data '{
    "key": "sk_1234"
  }'
```


</CodeGroup>

## Features

Below are some of the key features of Unkey API key management system, for you to explore.

<CardGroup cols={2}>
  <Card title="Ratelimiting" href="/apis/features/ratelimiting"  >
   Key based ratelimiting
  </Card>
  <Card title="Usage limited keys"  href="/apis/features/remaining">
    Set usage limits per key
  </Card>
   <Card title="Temporary Keys"  href="/apis/features/temp-keys">
    Keys that expire after a set time
  </Card>
  <Card title="Refillable Keys"  href="/apis/features/refill">
   Refill your remaining keys on a set schedule
 </Card>
 <Card title="Analytics"  href="/apis/features/analytics">
  Rich analytics on your API and keys
</Card>
<Card title="Environments"  href="/apis/features/environments">
 Separate your keys into live and test environments
</Card>
<Card title="Authorization"  href="/apis/features/authorization/introduction">
 Access Control with Roles and Permissions
</Card>
  </CardGroup>
